600
I am using Layout property to sort multiple columns at once. The problem is that all items get expanded. How do I prevent that

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
EXTREELib.Column var_Column = (axTree1.Columns.Add("P1") as EXTREELib.Column);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column.PartialCheck = true;
EXTREELib.Column var_Column1 = (axTree1.Columns.Add("P2") as EXTREELib.Column);
	var_Column1.set_Def(EXTREELib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column1.PartialCheck = true;
	var_Column1.FormatColumn = "1 index ``";
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child A");
	var_Items.InsertItem(h,null,"Child B");
	var_Items.InsertItem(h,null,"Child A");
	var_Items.InsertItem(h,null,"Child B");
	var_Items.AddItem("Root");
	var_Items.AddItem("Root");
axTree1.SingleSort = false;
axTree1.Layout = "multiplesort=\"C0:1 C1:2\";collapse=\"\"";
axTree1.EndUpdate();

599
How can I get ride / hide the image being dragged by OLE Drag and Drop
// OLEStartDrag event - Occurs when the OLEDrag method is called.
private void axTree1_OLEStartDrag(object sender, AxEXTREELib._ITreeEvents_OLEStartDragEvent e)
{
	// Data.SetData("data to drag")
	e.allowedEffects = 1;
}
//this.axTree1.OLEStartDrag += new AxEXTREELib._ITreeEvents_OLEStartDragEventHandler(this.axTree1_OLEStartDrag);

axTree1.OLEDropMode = EXTREELib.exOLEDropModeEnum.exOLEDropManual;
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exDragDropAfter,(uint)ColorTranslator.ToWin32(Color.FromArgb(255,255,255)));
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.Columns.Add("Default");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);

598
How can I export checked items only

axTree1.BeginUpdate();
axTree1.MarkSearchColumn = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	(var_Columns.Add("C1") as EXTREELib.Column).set_Def(EXTREELib.DefColumnEnum.exCellHasCheckBox,true);
	(var_Columns.Add("C2") as EXTREELib.Column).FormatColumn = "1 index `A-Z`";
	(var_Columns.Add("C3") as EXTREELib.Column).FormatColumn = "100 index ``";
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Item 1");
	var_Items.set_CellState(var_Items.AddItem("Item 2"),0,1);
	var_Items.set_CellState(var_Items.AddItem("Item 3"),0,1);
axTree1.EndUpdate();
System.Diagnostics.Debug.Print( "Export CSV Checked Items Only:" );
System.Diagnostics.Debug.Print( axTree1.Export("","chk").ToString() );

597
How can I export a hidden column

axTree1.BeginUpdate();
axTree1.MarkSearchColumn = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("C1");
	EXTREELib.Column var_Column = (var_Columns.Add("C2") as EXTREELib.Column);
		var_Column.FormatColumn = "1 index `A-Z`";
		var_Column.Visible = false;
	EXTREELib.Column var_Column1 = (var_Columns.Add("C3") as EXTREELib.Column);
		var_Column1.FormatColumn = "100 index ``";
		var_Column1.Visible = false;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Item 1");
	var_Items.AddItem("Item 2");
	var_Items.AddItem("Item 3");
axTree1.EndUpdate();
System.Diagnostics.Debug.Print( "Export CSV Hidden Columns (1,2):" );
System.Diagnostics.Debug.Print( axTree1.Export("","|1,2").ToString() );

596
I'm trying to use automatic numbering of the outline. How can I have A, B, C for root items, 1, 2, 3 for the sub-items, and a, b, c for sub-sub-items (sample 3)

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exRowLines;
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragPositionAny;
axTree1.HasLines = EXTREELib.HierarchyLineEnum.exSolidLine;
axTree1.Indent = 16;
axTree1.MarkSearchColumn = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	EXTREELib.Column var_Column = (var_Columns.Add("") as EXTREELib.Column);
		var_Column.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
		var_Column.FormatColumn = "((1:=(0 :=(1 rpos '.|A-Z||a-z|')) rfind `.`) < 0 ? `<b>` + =:0 + `` :  (=:0 mid (1 + 1 + =:1) )  + `)` ) + ` ` + value";
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child");
	int hChild = var_Items.InsertItem(h,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(h,null,"Child");
	var_Items.set_ExpandItem(0,true);
	h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child");
	hChild = var_Items.InsertItem(h,null,"Child");
	var_Items.set_CellState(hChild,0,1);
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(h,null,"Child");
axTree1.EndUpdate();

595
I'm trying to use automatic numbering of the outline. How can I have A, B, C for root items, 1, 2, 3 for the sub-items, and a, b, c for sub-sub-items (sample 2)

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.GridLineColor = Color.FromArgb(190,190,190);
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exRowLines;
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragPositionAny;
axTree1.HasLines = EXTREELib.HierarchyLineEnum.exSolidLine;
axTree1.Indent = 16;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Default");
	EXTREELib.Column var_Column = (var_Columns.Add("") as EXTREELib.Column);
		var_Column.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
		var_Column.set_Def(EXTREELib.DefColumnEnum.exCellPaddingRight,4);
		var_Column.AllowSizing = false;
		var_Column.Width = 36;
		var_Column.Position = 0;
		var_Column.FormatColumn = "(1:=(0 :=(1 rpos '.|A-Z||a-z|')) rfind `.`) < 0 ? `<b>` + =:0 : (`............` left 2 * (=:0 count `.`)) + (=:0 mid (1 + 1 + =" +
":1) ) ";
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child");
	int hChild = var_Items.InsertItem(h,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(h,null,"Child");
	var_Items.set_ExpandItem(0,true);
	h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child");
	hChild = var_Items.InsertItem(h,null,"Child");
	var_Items.set_CellState(hChild,0,1);
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(h,null,"Child");
axTree1.EndUpdate();

594
I'm trying to use automatic numbering of the outline. How can I have A, B, C for root items, 1, 2, 3 for the sub-items, and a, b, c for sub-sub-items (sample 1)

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exRowLines;
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragPositionAny;
axTree1.HasLines = EXTREELib.HierarchyLineEnum.exSolidLine;
axTree1.Indent = 16;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Default");
	EXTREELib.Column var_Column = (var_Columns.Add("") as EXTREELib.Column);
		var_Column.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
		var_Column.set_Def(EXTREELib.DefColumnEnum.exCellPaddingRight,4);
		var_Column.Alignment = EXTREELib.AlignmentEnum.RightAlignment;
		var_Column.AllowSizing = false;
		var_Column.Width = 24;
		var_Column.Position = 0;
		var_Column.FormatColumn = "(1:=(0 :=(1 rpos '.|A-Z||a-z|')) rfind `.`) < 0 ? `<b>` + =:0 : `<i>` + (=:0 mid (1 + 1 + =:1) ) ";
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child");
	int hChild = var_Items.InsertItem(h,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(h,null,"Child");
	var_Items.set_ExpandItem(0,true);
	h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child");
	hChild = var_Items.InsertItem(h,null,"Child");
	var_Items.set_CellState(hChild,0,1);
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(hChild,null,"Child");
	var_Items.InsertItem(h,null,"Child");
axTree1.EndUpdate();

593
Is it possible to have a different alignment for parts of the cell's caption

axTree1.BeginUpdate();
axTree1.TreeColumnIndex = -1;
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exRowLines;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Default") as EXTREELib.Column);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellHasCheckBox,true);
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_CellHAlignment(var_Items.AddItem("all-left"),0,EXTREELib.AlignmentEnum.LeftAlignment);
	var_Items.set_CellHAlignment(var_Items.AddItem("all-center"),0,EXTREELib.AlignmentEnum.CenterAlignment);
	var_Items.set_CellHAlignment(var_Items.AddItem("all-right"),0,EXTREELib.AlignmentEnum.RightAlignment);
	int h = var_Items.AddItem("left<c>center<r>right");
	var_Items.set_CellCaptionFormat(h,0,EXTREELib.CaptionFormatEnum.exHTML);
axTree1.EndUpdate();

592
I have a column with Def(exCellSingleLine) property on False, word-wrapping, and I am wondering if possible to update the column's content while user is resizing it
axTree1.BeginUpdate();
EXTREELib.Columns var_Columns = axTree1.Columns;
	EXTREELib.Column var_Column = (var_Columns.Add("MultipleLine") as EXTREELib.Column);
		var_Column.Width = 32;
		var_Column.set_Def(EXTREELib.DefColumnEnum.exCellSingleLine,false);
		var_Column.set_Def(EXTREELib.DefColumnEnum.exColumnResizeContiguously,true);
	EXTREELib.Column var_Column1 = (var_Columns.Add("SingleLine") as EXTREELib.Column);
		var_Column1.set_Def(EXTREELib.DefColumnEnum.exCellSingleLine,false);
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_CellCaption(var_Items.AddItem("This is a bit of long text that should break the line"),1,"This is a bit of long text that should break the line");
axTree1.EndUpdate();

591
How do I sort the index column as numeric

// AddItem event - Occurs after a new Item has been inserted to Items collection.
private void axTree1_AddItem(object sender, AxEXTREELib._ITreeEvents_AddItemEvent e)
{
	EXTREELib.Items var_Items = axTree1.Items;
		var_Items.set_CellData(e.item,1,var_Items.get_ItemToIndex(e.item));
}
//this.axTree1.AddItem += new AxEXTREELib._ITreeEvents_AddItemEventHandler(this.axTree1_AddItem);

axTree1.BeginUpdate();
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exAllLines;
axTree1.ColumnAutoResize = true;
axTree1.ShowFocusRect = false;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Next") as EXTREELib.Column);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellPaddingLeft,4);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exHeaderPaddingLeft,4);
EXTREELib.Column var_Column1 = (axTree1.Columns.Add("Index") as EXTREELib.Column);
	var_Column1.AllowSizing = false;
	var_Column1.Width = 48;
	var_Column1.FormatColumn = "(((0 := (1 index ``)) mod 3) case ( default: ``; 0 : `<r><fgcolor=B0B0B0>`; 1: ``; 2 : `<c><fgcolor=808080>` )) + str(=:0)";
	var_Column1.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
	var_Column1.SortType = EXTREELib.SortTypeEnum.SortUserData;
	var_Column1.Position = 0;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Item 1");
	var_Items.AddItem("Item 2");
	var_Items.AddItem("Item 3");
	var_Items.AddItem("Item 4");
	var_Items.AddItem("Item 5");
	var_Items.AddItem("Item 6");
	var_Items.AddItem("Item 7");
	var_Items.AddItem("Item 8");
	var_Items.AddItem("Item 9");
	var_Items.AddItem("Item 10");
axTree1.EndUpdate();

590
How can I put icons/images into buttons

axTree1.BeginUpdate();
axTree1.ColumnAutoResize = true;
axTree1.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXTREELib.Column var_Column = (axTree1.Columns.Add("C+B") as EXTREELib.Column);
	var_Column.AllowSizing = false;
	var_Column.Width = 48;
	var_Column.FormatColumn = "` <img>` + ( 1 + (1 index ``) mod 3 ) + `</img> `";
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellHasButton,true);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellButtonAutoWidth,true);
axTree1.Columns.Add("");
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exVLines;
axTree1.DefaultItemHeight = 20;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
axTree1.EndUpdate();

589
Is it possible to have a CheckBox and Button TOGETHER on all cells in a column

// CellButtonClick event - Fired after the user clicks on the cell of button type. 
private void axTree1_CellButtonClick(object sender, AxEXTREELib._ITreeEvents_CellButtonClickEvent e)
{
	System.Diagnostics.Debug.Print( "CellButtonClick" );
	System.Diagnostics.Debug.Print( e.item.ToString() );
}
//this.axTree1.CellButtonClick += new AxEXTREELib._ITreeEvents_CellButtonClickEventHandler(this.axTree1_CellButtonClick);

// CellStateChanged event - Fired after cell's state has been changed.
private void axTree1_CellStateChanged(object sender, AxEXTREELib._ITreeEvents_CellStateChangedEvent e)
{
	System.Diagnostics.Debug.Print( "CellStateChanged" );
	System.Diagnostics.Debug.Print( e.item.ToString() );
}
//this.axTree1.CellStateChanged += new AxEXTREELib._ITreeEvents_CellStateChangedEventHandler(this.axTree1_CellStateChanged);

axTree1.BeginUpdate();
axTree1.ColumnAutoResize = true;
EXTREELib.Column var_Column = (axTree1.Columns.Add("") as EXTREELib.Column);
	var_Column.AllowSizing = false;
	var_Column.Width = 32;
	var_Column.FormatColumn = "1 index ``";
EXTREELib.Column var_Column1 = (axTree1.Columns.Add("Def") as EXTREELib.Column);
	var_Column1.AllowSizing = false;
	var_Column1.Width = 48;
	var_Column1.FormatColumn = "`     `";
	var_Column1.set_Def(EXTREELib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column1.set_Def(EXTREELib.DefColumnEnum.exCellHasButton,true);
	var_Column1.set_Def(EXTREELib.DefColumnEnum.exCellButtonAutoWidth,true);
axTree1.Columns.Add("");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
	var_Items.AddItem("");
axTree1.EndUpdate();

588
Does filtering work with umlauts / accents characters
axTree1.BeginUpdate();
EXTREELib.Column var_Column = (axTree1.Columns.Add("Names") as EXTREELib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.FilterType = EXTREELib.FilterTypeEnum.exPattern;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Mantel");
	var_Items.AddItem("Mechanik");
	var_Items.AddItem("Motor");
	var_Items.AddItem("Murks");
	var_Items.AddItem("Märchen");
	var_Items.AddItem("Möhren");
	var_Items.AddItem("Mühle");
	var_Items.AddItem("Sérigraphie");
axTree1.Columns[0].Filter = "*ä*";
axTree1.ApplyFilter();
axTree1.EndUpdate();

587
The Items.FirstVisibleItem property is read-only. How can I change the first visible item

axTree1.BeginUpdate();
axTree1.MarkSearchColumn = false;
axTree1.ColumnAutoResize = false;
axTree1.ContinueColumnScroll = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axTree1.DataSource = (rs as ADODB.Recordset);
EXTREELib.Column var_Column = (axTree1.Columns.Add("Pos") as EXTREELib.Column);
	var_Column.Position = 0;
	var_Column.FormatColumn = "0 index ``";
	var_Column.Width = 32;
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellBackColor,15790320);
axTree1.set_ScrollPos(true,13);
axTree1.EndUpdate();

586
How FullPath method works

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.Columns.Add("C1");
axTree1.Columns.Add("C2");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.set_CellCaption(h,1,"A");
	var_Items.set_CellCaption(var_Items.InsertItem(h,null,"Child 1"),1,"B");
	var_Items.set_CellCaption(var_Items.InsertItem(h,null,"Child 2"),1,"C");
	var_Items.set_ExpandItem(h,true);
axTree1.SearchColumnIndex = 1;
System.Diagnostics.Debug.Print( axTree1.SearchColumnIndex.ToString() );
System.Diagnostics.Debug.Print( axTree1.Items.get_FullPath([2]) );
axTree1.SearchColumnIndex = 0;
System.Diagnostics.Debug.Print( axTree1.SearchColumnIndex.ToString() );
System.Diagnostics.Debug.Print( axTree1.Items.get_FullPath([2]) );
axTree1.EndUpdate();

585
How can I filter for multiple captions on a single column, using OR clause

axTree1.BeginUpdate();
axTree1.ColumnAutoResize = true;
axTree1.ContinueColumnScroll = false;
axTree1.MarkSearchColumn = true;
axTree1.SearchColumnIndex = 1;
axTree1.FilterBarPromptVisible = true;
EXTREELib.Columns var_Columns = axTree1.Columns;
	(var_Columns.Add("Name") as EXTREELib.Column).Width = 96;
	EXTREELib.Column var_Column = (var_Columns.Add("Title") as EXTREELib.Column);
		var_Column.Width = 96;
	var_Columns.Add("City");
EXTREELib.Items var_Items = axTree1.Items;
	int h0 = var_Items.AddItem("Nancy Davolio");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"Seattle");
	h0 = var_Items.AddItem("Andrew Fuller");
	var_Items.set_CellCaption(h0,1,"Vice President, Sales");
	var_Items.set_CellCaption(h0,2,"Tacoma");
	var_Items.set_SelectItem(h0,true);
	h0 = var_Items.AddItem("Janet Leverling");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"Kirkland");
	h0 = var_Items.AddItem("Margaret Peacock");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"Redmond");
	h0 = var_Items.AddItem("Steven Buchanan");
	var_Items.set_CellCaption(h0,1,"Sales Manager");
	var_Items.set_CellCaption(h0,2,"London");
	h0 = var_Items.AddItem("Michael Suyama");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"London");
	h0 = var_Items.AddItem("Robert King");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"London");
	h0 = var_Items.AddItem("Laura Callahan");
	var_Items.set_CellCaption(h0,1,"Inside Sales Coordinator");
	var_Items.set_CellCaption(h0,2,"Seattle");
	h0 = var_Items.AddItem("Anne Dodsworth");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"London");
axTree1.FilterBarPromptColumns = "1";
axTree1.FilterBarPromptPattern = "Vice Inside";
axTree1.FilterBarPromptType = EXTREELib.FilterPromptEnum.exFilterPromptContainsAny;
axTree1.EndUpdate();

584
How can I filter for multiple captions on a single column, using AND clause

axTree1.BeginUpdate();
axTree1.ColumnAutoResize = true;
axTree1.ContinueColumnScroll = false;
axTree1.MarkSearchColumn = true;
axTree1.SearchColumnIndex = 1;
axTree1.FilterBarPromptVisible = true;
EXTREELib.Columns var_Columns = axTree1.Columns;
	(var_Columns.Add("Name") as EXTREELib.Column).Width = 96;
	EXTREELib.Column var_Column = (var_Columns.Add("Title") as EXTREELib.Column);
		var_Column.Width = 96;
	var_Columns.Add("City");
EXTREELib.Items var_Items = axTree1.Items;
	int h0 = var_Items.AddItem("Nancy Davolio");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"Seattle");
	h0 = var_Items.AddItem("Andrew Fuller");
	var_Items.set_CellCaption(h0,1,"Vice President, Sales");
	var_Items.set_CellCaption(h0,2,"Tacoma");
	var_Items.set_SelectItem(h0,true);
	h0 = var_Items.AddItem("Janet Leverling");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"Kirkland");
	h0 = var_Items.AddItem("Margaret Peacock");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"Redmond");
	h0 = var_Items.AddItem("Steven Buchanan");
	var_Items.set_CellCaption(h0,1,"Sales Manager");
	var_Items.set_CellCaption(h0,2,"London");
	h0 = var_Items.AddItem("Michael Suyama");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"London");
	h0 = var_Items.AddItem("Robert King");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"London");
	h0 = var_Items.AddItem("Laura Callahan");
	var_Items.set_CellCaption(h0,1,"Inside Sales Coordinator");
	var_Items.set_CellCaption(h0,2,"Seattle");
	h0 = var_Items.AddItem("Anne Dodsworth");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"London");
axTree1.FilterBarPromptColumns = "1";
axTree1.FilterBarPromptPattern = "Vice Sales";
axTree1.FilterBarPromptType = EXTREELib.FilterPromptEnum.exFilterPromptContainsAll;
axTree1.EndUpdate();

583
Can I set the search box / filterbarprompt to invisible, so I can use my own input and *string* via VBA
axTree1.BeginUpdate();
axTree1.ColumnAutoResize = true;
axTree1.ContinueColumnScroll = false;
axTree1.MarkSearchColumn = false;
axTree1.SearchColumnIndex = 1;
axTree1.FilterBarHeight = 0;
axTree1.FilterBarPromptVisible = true;
EXTREELib.Columns var_Columns = axTree1.Columns;
	(var_Columns.Add("Name") as EXTREELib.Column).Width = 96;
	(var_Columns.Add("Title") as EXTREELib.Column).Width = 96;
	var_Columns.Add("City");
EXTREELib.Items var_Items = axTree1.Items;
	int h0 = var_Items.AddItem("Nancy Davolio");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"Seattle");
	h0 = var_Items.AddItem("Andrew Fuller");
	var_Items.set_CellCaption(h0,1,"Vice President, Sales");
	var_Items.set_CellCaption(h0,2,"Tacoma");
	var_Items.set_SelectItem(h0,true);
	h0 = var_Items.AddItem("Janet Leverling");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"Kirkland");
	h0 = var_Items.AddItem("Margaret Peacock");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"Redmond");
	h0 = var_Items.AddItem("Steven Buchanan");
	var_Items.set_CellCaption(h0,1,"Sales Manager");
	var_Items.set_CellCaption(h0,2,"London");
	h0 = var_Items.AddItem("Michael Suyama");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"London");
	h0 = var_Items.AddItem("Robert King");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"London");
	h0 = var_Items.AddItem("Laura Callahan");
	var_Items.set_CellCaption(h0,1,"Inside Sales Coordinator");
	var_Items.set_CellCaption(h0,2,"Seattle");
	h0 = var_Items.AddItem("Anne Dodsworth");
	var_Items.set_CellCaption(h0,1,"Sales Representative");
	var_Items.set_CellCaption(h0,2,"London");
axTree1.FilterBarPromptPattern = "London";
axTree1.EndUpdate();

582
How to load a hierarchy using the control's DataSource property (Parent-ID-Relation)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
private void axTree1_AddItem(object sender, AxEXTREELib._ITreeEvents_AddItemEvent e)
{
	EXTREELib.Items var_Items = axTree1.Items;
		var_Items.SetParent(e.item,var_Items.get_FindItem(var_Items.get_CellCaption(e.item,"ReportsTo"),"EmployeeID",null));
}
//this.axTree1.AddItem += new AxEXTREELib._ITreeEvents_AddItemEventHandler(this.axTree1_AddItem);

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.ColumnAutoResize = false;
axTree1.ContinueColumnScroll = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("SELECT * FROM Employees ORDER BY ReportsTo","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axTree1.DataSource = (rs as ADODB.Recordset);
axTree1.Items.set_ExpandItem(0,true);
axTree1.EndUpdate();

581
Is there any option to control where I can drop the items when using the AutoDrag property
// AllowAutoDrag event - Occurs when the user drags the item between InsertA and InsertB as child of NewParent.
private void axTree1_AllowAutoDrag(object sender, AxEXTREELib._ITreeEvents_AllowAutoDragEvent e)
{
	EXTREELib.Items var_Items = axTree1.Items;
		System.Diagnostics.Debug.Print( "NewParent" );
		System.Diagnostics.Debug.Print( var_Items.get_CellCaption(e.newParent,0).ToString() );
		System.Diagnostics.Debug.Print( "After" );
		System.Diagnostics.Debug.Print( var_Items.get_CellCaption(e.insertA,0).ToString() );
		System.Diagnostics.Debug.Print( "Before" );
		System.Diagnostics.Debug.Print( var_Items.get_CellCaption(e.insertB,0).ToString() );
	e.cancel = true;
}
//this.axTree1.AllowAutoDrag += new AxEXTREELib._ITreeEvents_AllowAutoDragEventHandler(this.axTree1_AllowAutoDrag);

axTree1.BeginUpdate();
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragPositionAny;
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exNoLinesAtRoot;
axTree1.HasLines = EXTREELib.HierarchyLineEnum.exThinLine;
axTree1.ShowFocusRect = false;
axTree1.Columns.Add("Task");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Group 1");
	var_Items.set_ItemDivider(h,0);
	var_Items.set_ItemBold(h,true);
	int h1 = var_Items.InsertItem(h,null,"Task 1");
	int h2 = var_Items.InsertItem(h,null,"Task 2");
	int h3 = var_Items.InsertItem(h,null,"Task 3");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Group 2");
	var_Items.set_ItemBold(h,true);
	var_Items.set_ItemDivider(h,0);
axTree1.EndUpdate();

580
The FindPath is not case sensitive. How can I make it work case sensitive

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.Columns.Add("Default");
axTree1.ASCIIUpper = "";
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("L:");
	var_Items.InsertItem(h,null,"test");
	var_Items.InsertItem(h,null,"Test");
	var_Items.InsertItem(h,null,"TEST");
	var_Items.set_ExpandItem(h,true);
	var_Items.set_ItemBold(var_Items.get_FindPath("L:\\TEST"),true);
axTree1.EndUpdate();

579
How do I enable / display a tooltip while user selects new items from the drop down filter panel

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Items") as EXTREELib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = EXTREELib.FilterListEnum.exShowExclude | EXTREELib.FilterListEnum.exEnableToolTip | EXTREELib.FilterListEnum.exShowFocusItem | EXTREELib.FilterListEnum.exShowCheckBox;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Item 1");
	var_Items.AddItem("Item 2");
	var_Items.AddItem("Item 3");
	var_Items.AddItem("Item 4");
EXTREELib.Column var_Column1 = axTree1.Columns[0];
	var_Column1.FilterType = EXTREELib.FilterTypeEnum.exFilterExclude | EXTREELib.FilterTypeEnum.exFilter;
	var_Column1.Filter = "Item 1|Item 4";
axTree1.ApplyFilter();
axTree1.EndUpdate();

578
How can I align captions of items with checkbox, with items with no checkbox

axTree1.BeginUpdate();
axTree1.Columns.Add("Default");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_CellImages(var_Items.AddItem(0),0,"1");
	var_Items.set_CellHasCheckBox(var_Items.AddItem(1),0,true);
	var_Items.set_CellImages(var_Items.AddItem(2),0,"1");
axTree1.EndUpdate();

577
The control does not ensure the item to fit the control's client area once the user clicks the cell's button or check box. What can be done
// MouseDown event - Occurs when the user presses a mouse button.
private void axTree1_MouseDownEvent(object sender, AxEXTREELib._ITreeEvents_MouseDownEvent e)
{
	// Items.EnsureVisibleItem(ItemFromPoint(-1,-1,c,hit))
}
//this.axTree1.MouseDownEvent += new AxEXTREELib._ITreeEvents_MouseDownEventHandler(this.axTree1_MouseDownEvent);

axTree1.BeginUpdate();
axTree1.TreeColumnIndex = -1;
axTree1.SelForeColor = axTree1.ForeColor;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Buttons") as EXTREELib.Column);
	var_Column.Alignment = EXTREELib.AlignmentEnum.CenterAlignment;
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellHasButton,true);
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Button A");
	var_Items.AddItem("Button B");
	var_Items.AddItem("Button C");
axTree1.EndUpdate();

576
Does the title of the cell's tooltip supports HTML format

axTree1.BeginUpdate();
EXTREELib.Column var_Column = (axTree1.Columns.Add("") as EXTREELib.Column);
	var_Column.Caption = "";
	var_Column.HTMLCaption = "Column";
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_CellToolTip(var_Items.AddItem("tooltip w/h different title"),0,"<c><b><fgcolor=FF0000>Title</fgcolor></b><br>This is bit of text that's shown when the user hovers the cell. This shows the tit" +
"le centered with a different color.");
axTree1.EndUpdate();

575
How do I specify a different title for the cell's tooltip

axTree1.BeginUpdate();
EXTREELib.Column var_Column = (axTree1.Columns.Add("") as EXTREELib.Column);
	var_Column.Caption = "This is the title";
	var_Column.HTMLCaption = "Column";
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_CellToolTip(var_Items.AddItem("tooltip w/h different title"),0,"This is bit of text that's shown when the user hovers the cell.");
axTree1.EndUpdate();

574
The cell's tooltip displays the column's caption in its title. How can I get ride of that

axTree1.BeginUpdate();
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("C1");
	var_Columns.Add("C2");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("tooltip w/h caption");
	var_Items.set_CellToolTip(h,0,"This is bit of text that's shown when the user hovers the cell. This shows the column's caption in the title.");
	var_Items.set_CellCaption(h,1,"tooltip no caption");
	var_Items.set_CellToolTip(h,1,"This is bit of text that's shown when the user hovers the cell. This shows no column's caption in the title.");
EXTREELib.Column var_Column = axTree1.Columns["C2"];
	var_Column.HTMLCaption = var_Column.Caption;
	var_Column.Caption = "";
axTree1.EndUpdate();

573
How can I programmatically show the column's filter

// RClick event - Fired when right mouse button is clicked
private void axTree1_RClick(object sender, EventArgs e)
{
	int i = axTree1.get_ItemFromPoint(-1,-1,c,hit);
	axTree1.Columns[c].ShowFilter("-1,-1,128,128");
}
//this.axTree1.RClick += new EventHandler(this.axTree1_RClick);

axTree1.BeginUpdate();
axTree1.ShowFocusRect = false;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Items ") as EXTREELib.Column);
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = EXTREELib.FilterListEnum.exShowExclude | EXTREELib.FilterListEnum.exShowFocusItem | EXTREELib.FilterListEnum.exShowCheckBox;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Item 1");
	var_Items.AddItem("Item 2");
	var_Items.AddItem("Item 3");
axTree1.EndUpdate();

572
I want to be able to click on one of the headers, and sort by other column. How can I do that (method 2)

// ColumnClick event - Fired after the user clicks on column's header.
private void axTree1_ColumnClick(object sender, AxEXTREELib._ITreeEvents_ColumnClickEvent e)
{
	// Column.SortOrder = 1
	axTree1.SortOnClick = EXTREELib.SortOnClickEnum.exDefaultSort;
	axTree1.Columns["Sort"].SortOrder = EXTREELib.SortOrderEnum.SortAscending;
	axTree1.SortOnClick = EXTREELib.SortOnClickEnum.exUserSort;
}
//this.axTree1.ColumnClick += new AxEXTREELib._ITreeEvents_ColumnClickEventHandler(this.axTree1_ColumnClick);

axTree1.BeginUpdate();
axTree1.MarkSearchColumn = false;
axTree1.SortOnClick = EXTREELib.SortOnClickEnum.exUserSort;
axTree1.Columns.Add("Items");
(axTree1.Columns.Add("Sort") as EXTREELib.Column).Visible = false;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_CellCaption(var_Items.AddItem("Item 1 (3)"),1,3);
	var_Items.set_CellCaption(var_Items.AddItem("Item 2 (1)"),1,1);
	var_Items.set_CellCaption(var_Items.AddItem("Item 3 (2)"),1,2);
axTree1.EndUpdate();

571
I want to be able to click on one of the headers, and sort by other column. How can I do that (method 1)

// ColumnClick event - Fired after the user clicks on column's header.
private void axTree1_ColumnClick(object sender, AxEXTREELib._ITreeEvents_ColumnClickEvent e)
{
	// Column.SortOrder = 1
	axTree1.Items.SortChildren(0,"Sort",true);
}
//this.axTree1.ColumnClick += new AxEXTREELib._ITreeEvents_ColumnClickEventHandler(this.axTree1_ColumnClick);

axTree1.BeginUpdate();
axTree1.MarkSearchColumn = false;
axTree1.SortOnClick = EXTREELib.SortOnClickEnum.exUserSort;
axTree1.Columns.Add("Items");
(axTree1.Columns.Add("Sort") as EXTREELib.Column).Visible = false;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_CellCaption(var_Items.AddItem("Item 1 (3)"),1,3);
	var_Items.set_CellCaption(var_Items.AddItem("Item 2 (1)"),1,1);
	var_Items.set_CellCaption(var_Items.AddItem("Item 3 (2)"),1,2);
axTree1.EndUpdate();

570
I have a 3 level hierarchy in the treeview, and I want to create a filter that only shows the items in the 2nd level of the hierarchy, is this possible

axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.MarkSearchColumn = false;
axTree1.Columns.Add("Items");
(axTree1.Columns.Add("Level") as EXTREELib.Column).Visible = false;
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Parent");
	var_Items.set_CellCaption(h,1,0);
	int hChild = var_Items.InsertItem(h,null,"Child 1.1");
	var_Items.set_CellCaption(hChild,1,1);
	int hSubChild = var_Items.InsertItem(hChild,null,"SubChild A");
	var_Items.set_CellCaption(hSubChild,1,2);
	hChild = var_Items.InsertItem(h,null,"Child 1.2");
	var_Items.set_CellCaption(hChild,1,1);
	hSubChild = var_Items.InsertItem(hChild,null,"SubChild B");
	var_Items.set_CellCaption(hSubChild,1,2);
	var_Items.set_ExpandItem(h,true);
axTree1.FilterInclude = EXTREELib.FilterIncludeEnum.exMatchingItemsOnly;
EXTREELib.Column var_Column = axTree1.Columns["Level"];
	var_Column.FilterType = EXTREELib.FilterTypeEnum.exFilter;
	var_Column.Filter = 2.ToString();
axTree1.ApplyFilter();

569
How can I sort by two-columns, one by date and one by time

axTree1.BeginUpdate();
axTree1.SingleSort = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	(var_Columns.Add("Index") as EXTREELib.Column).FormatColumn = "1 index ``";
	(var_Columns.Add("Date") as EXTREELib.Column).SortType = EXTREELib.SortTypeEnum.SortDate;
	EXTREELib.Column var_Column = (var_Columns.Add("Time") as EXTREELib.Column);
		var_Column.SortType = EXTREELib.SortTypeEnum.SortTime;
		var_Column.FormatColumn = "time(value)";
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem(0);
	var_Items.set_CellCaption(h,1,Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_CellCaption(h,2,Convert.ToDateTime("1/1/2001 10:00:00",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	h = var_Items.AddItem(0);
	var_Items.set_CellCaption(h,1,Convert.ToDateTime("12/31/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_CellCaption(h,2,Convert.ToDateTime("1/1/2001 10:00:00",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	h = var_Items.AddItem(0);
	var_Items.set_CellCaption(h,1,Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_CellCaption(h,2,Convert.ToDateTime("1/1/2001 6:00:00",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	h = var_Items.AddItem(0);
	var_Items.set_CellCaption(h,1,Convert.ToDateTime("12/31/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_CellCaption(h,2,Convert.ToDateTime("1/1/2001 8:00:00",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	h = var_Items.AddItem(0);
	var_Items.set_CellCaption(h,1,Convert.ToDateTime("1/1/2001",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_CellCaption(h,2,Convert.ToDateTime("1/1/2001 8:00:00",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	h = var_Items.AddItem(0);
	var_Items.set_CellCaption(h,1,Convert.ToDateTime("12/31/2000",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_CellCaption(h,2,Convert.ToDateTime("1/1/2001 6:00:00",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
axTree1.Layout = "multiplesort=\"C1:1 C2:1\"";
axTree1.EndUpdate();

568
We are using custom buttons for the +/- on the treeview control, is there a way to control the size of the image

axTree1.BeginUpdate();
EXTREELib.Appearance var_Appearance = axTree1.VisualAppearance;
	var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAChABDEMACAADACAxRDQNABQKAAzQFAYbBkGqGAAGIYxYgmFgAQhFcZQSKUOQTDKMIziaQIRg8JYlDTJcIjKKEVQHFiXIrAKKwEgmEQMQiCcbzX" +
"IUBxAAqVZZFUaKAi+Qg4TLBAzUSAAYhtHqeJBjID4JA6UJXRpIAIQSSBUjGOg6TiMUYZAguAxCEzZUT0fAYUQSCC3ZzDCKoRpiCT7Xg8V5OVbjUz9P7AMBwLA7erxap6" +
"PJeD54QymGp/R5eMhyLI8UxXFqRY6veKtJhGDIrT5CEIQVA9EyXJqnahqOiaCguPorQy/dYYdg2BYBPS6MAvG4bVrOd59XrgN42fY2ByzAqlMQwS7rOqiY6YWTnehWTo" +
"HE+JZUmoLB5CufQuAkBYkGO+ZrDWAo7keZZyHmH5+i8X4bluaJyHgGB9mQHx3JjBpViqJRHmueZ7H8Xo3i2fYAl+d5tncMRfDcdZeDMDIjCCJwokoEoQiEJ4KCIfIdgU" +
"SZIAWaoGCEUh2BIJ4gnKBgMDICAnHoCggg0Aw4k0KAJkIagaguYwIj4LAmiKEw2CUIIiHMUJSDQSYyGCFYMGQCJCD0JRjiMRg3gmTYjGSVgmgkchSD4JJklIRIXCSSQY" +
"j4U4UgkQhGE+EwJEkJJWhGpgGGIOBNmMdhPg8SRiHCGAlibNhohqJpJi4T4ZA2WYIgEYInGOGJlDkCQyECDoTEkKQ+E+C5oCIVhQCUCQpnSDoeg4SZZH8YdhjibQ7AiU" +
"gkgcJFyiyEYmGmOhqhyJ5pmILoYCKaRSB6Eg7CcZgZggaRqHqNoTiuDpKkKMormsQ4xiUYgYiKEo6CCWgWiqPovloZoGjoKQYiQBCAg==");
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAChABDcMACAADACAxRDQNABQKAAzQFAYbBkGqGAAGIYxYgmFgAQhFcZQSKUOQTDKMIziaQIRg8JYlDTJcIjKKEVQHFiXIrAKKwEgmEQMQiCcbzX" +
"IUBxAAqVZZFUaKAi+Qg4TLBAzUSAAYhtHqeJBjID4JA6UJXRpIAIQSSBUjGOg6TiMUYZAguAxCEzZUT0fAYUQSCC3ZzDCKoRpiCT7Xg8V5OVbjUz9P7AMBwLA7erxap6" +
"PJeD54QymGp/R5eMhyLI8UxXFqRY6veKtJhGDIrT5CEIQVA9EyXJqnahqOiaCguPorQy/dYYdg2BYBPS6MAvG4bVrOd59XrgN42fY2ByzAqlMQwS7rOqiY6YWTnehWTo" +
"HE+JZUmoLB5CufQuAkBYkGO+ZrDWAo7keZZyHmPQ+g8X4fluYBhneEB9l0Iwpg6RRWiqFQfg+V5nnefh/GAB5yAIfRMFeRZdHeDJDCiSApkoMoEiQKBJmKCIfCcYQiHI" +
"FYFkmeBaBOA5JmgMIhgITICAmXoBkgIxAk4MxKAIcIaD+YpIjYLoLmMCI2CkJoiGMNgiCCIhDFCUg0EmMhghWDBkAkBg9CUY4jEYN4JA2IxklYJoJHIUg+CSZJSESFwk" +
"mUKRSFOFRlCIUIRhOZJCFISQ1iQdgEgGGJOBMeJdhOY5SFiHAmAkaYmG6GwmhmLhthsJJ5hSXYYkgFgKHgOYOFOEITCQCJpDSEoTmgQhUhOIRoHoGoCh+SJpnCZIeBed" +
"gaHgO4OlOMINCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYYYgaFopiuaRakCbIsisSpGjYOwaFYIYKCkK5CA2IRqiwCwFiYaBrkKEYKEAQCAgA==");
	var_Appearance.Add(1,"CP:3 -4 -4 4 4");
	var_Appearance.Add(2,"CP:4 -4 -4 4 4");
axTree1.DefaultItemHeight = 22;
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exGroupLinesAtRoot;
axTree1.HasButtons = EXTREELib.ExpandButtonEnum.exCustom;
axTree1.set_HasButtonsCustom(false,16777216);
axTree1.set_HasButtonsCustom(true,33554432);
axTree1.Columns.Add("Column");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child");
axTree1.EndUpdate();

567
How can I connect to a DBF file
axTree1.BeginUpdate();
axTree1.ColumnAutoResize = false;
axTree1.ContinueColumnScroll = false;
axTree1.MarkSearchColumn = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Select * From foxcode.DBF","Provider=vfpoledb;Data Source=C:\\Program Files\\Microsoft Visual FoxPro 9\\",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axTree1.DataSource = (rs as ADODB.Recordset);
axTree1.EndUpdate();

566
Do you have any Fit-To-Page options when printing the control

axTree1.BeginUpdate();
axTree1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axTree1.DataSource = (rs as ADODB.Recordset);
axTree1.EndUpdate();
// Add 'ExPrint 1.0 Control Library(ExPrint.dll)' reference to your project.
EXPRINTLib.Print var_Print = new EXPRINTLib.Print();
	var_Print.Options = "FitToPage = On";
	var_Print.PrintExt = (axTree1.GetOcx() as EXTREELib.Tree);
	var_Print.Preview();

565
Does your control supports scrolling by touching the screen

axTree1.BeginUpdate();
axTree1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axTree1.DataSource = (rs as ADODB.Recordset);
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragScrollOnShortTouch | EXTREELib.AutoDragEnum.exAutoDragScroll;
axTree1.ScrollBySingleLine = true;
axTree1.ContinueColumnScroll = true;
axTree1.EndUpdate();

564
How do I prevent showing the control's BackColorAlternate property on empty / non-items part of the control

(axTree1.GetOcx() as EXTREELib.Tree).BackColorAlternate = 0x7ff0f0f0;
axTree1.Columns.Add("Column");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Item 1");
	var_Items.AddItem("Item 2");
	var_Items.AddItem("Item 3");
	var_Items.AddItem("Item 4");
	var_Items.AddItem("Item 5");

563
Is there a syntax for conditional formatting of items, based on CellState/CellStateChange

// CellStateChanged event - Fired after cell's state has been changed.
private void axTree1_CellStateChanged(object sender, AxEXTREELib._ITreeEvents_CellStateChangedEvent e)
{
	EXTREELib.Items var_Items = axTree1.Items;
		var_Items.set_CellCaption(e.item,2,var_Items.get_CellState(e.item,0));
}
//this.axTree1.CellStateChanged += new AxEXTREELib._ITreeEvents_CellStateChangedEventHandler(this.axTree1_CellStateChanged);

axTree1.BeginUpdate();
axTree1.ShowFocusRect = false;
axTree1.MarkSearchColumn = false;
axTree1.SelBackMode = EXTREELib.BackModeEnum.exTransparent;
EXTREELib.ConditionalFormat var_ConditionalFormat = axTree1.ConditionalFormats.Add("%2 != 0",null);
	var_ConditionalFormat.Bold = true;
	var_ConditionalFormat.ForeColor = (uint)ColorTranslator.ToWin32(Color.FromArgb(255,0,0));
	var_ConditionalFormat.ApplyTo = EXTREELib.FormatApplyToEnum.exFormatToItems;
EXTREELib.Column var_Column = (axTree1.Columns.Add("") as EXTREELib.Column);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column.Width = 16;
	var_Column.AllowSizing = false;
axTree1.Columns.Add("Information");
(axTree1.Columns.Add("Hidden") as EXTREELib.Column).Visible = false;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_CellCaption(var_Items.AddItem(""),1,"This is a bit of text associated");
	int h = var_Items.AddItem("");
	var_Items.set_CellCaption(h,1,"This is a bit of text associated");
	var_Items.set_CellState(h,0,1);
	var_Items.set_CellCaption(var_Items.AddItem(""),1,"This is a bit of text associated");
axTree1.EndUpdate();

562
How can I start editing the cell as soon as the user clicks a cell

// AfterCellEdit event - Occurs after data in the current cell is edited.
private void axTree1_AfterCellEdit(object sender, AxEXTREELib._ITreeEvents_AfterCellEditEvent e)
{
	axTree1.Items.set_CellCaption(e.item,e.colIndex,e.newCaption);
}
//this.axTree1.AfterCellEdit += new AxEXTREELib._ITreeEvents_AfterCellEditEventHandler(this.axTree1_AfterCellEdit);

// CancelCellEdit event - Occurs if the edit operation is canceled.
private void axTree1_CancelCellEdit(object sender, AxEXTREELib._ITreeEvents_CancelCellEditEvent e)
{
	axTree1.Items.set_CellCaption(e.item,e.colIndex,e.reserved);
}
//this.axTree1.CancelCellEdit += new AxEXTREELib._ITreeEvents_CancelCellEditEventHandler(this.axTree1_CancelCellEdit);

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
private void axTree1_ClickEvent(object sender, EventArgs e)
{
	EXTREELib.Items var_Items = axTree1.Items;
		var_Items.Edit(var_Items.FocusItem,0);
}
//this.axTree1.ClickEvent += new EventHandler(this.axTree1_ClickEvent);

axTree1.AllowEdit = true;
axTree1.Columns.Add("Column");
axTree1.Items.AddItem("Item 1");
axTree1.Items.AddItem("Item 2");
axTree1.Items.AddItem("");

561
How do I programmatically exclude items from the filter

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Items") as EXTREELib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = EXTREELib.FilterListEnum.exShowExclude | EXTREELib.FilterListEnum.exShowFocusItem | EXTREELib.FilterListEnum.exShowCheckBox;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Item 1");
	var_Items.AddItem("Item 2");
	var_Items.AddItem("Item 3");
	var_Items.AddItem("Item 4");
EXTREELib.Column var_Column1 = axTree1.Columns[0];
	var_Column1.FilterType = EXTREELib.FilterTypeEnum.exFilterExclude | EXTREELib.FilterTypeEnum.exFilter;
	var_Column1.Filter = "Item 1|Item 4";
axTree1.ApplyFilter();
axTree1.EndUpdate();

560
How can I sort the columns to be displayed on the columns floating bar

axTree1.ColumnAutoResize = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	(var_Columns.Add("City") as EXTREELib.Column).Visible = false;
	(var_Columns.Add("Start") as EXTREELib.Column).Visible = false;
	(var_Columns.Add("End") as EXTREELib.Column).Visible = false;
axTree1.ColumnsFloatBarVisible = EXTREELib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeHiddenColumns;
axTree1.ColumnsFloatBarSortOrder = EXTREELib.SortOrderEnum.SortAscending;

559
How can I add a vertical padding

axTree1.BeginUpdate();
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exAllLines;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Padding") as EXTREELib.Column);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellSingleLine,false);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellPaddingLeft,6);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellPaddingRight,6);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellPaddingTop,6);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellPaddingBottom,6);
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("padding");
	var_Items.AddItem("padding");
axTree1.EndUpdate();

558
Is the PutItems method running .AddItem event

// AddItem event - Occurs after a new Item has been inserted to Items collection.
private void axTree1_AddItem(object sender, AxEXTREELib._ITreeEvents_AddItemEvent e)
{
	System.Diagnostics.Debug.Print( "Adding ..." );
	System.Diagnostics.Debug.Print( axTree1.Items.get_CellCaption(e.item,0).ToString() );
}
//this.axTree1.AddItem += new AxEXTREELib._ITreeEvents_AddItemEventHandler(this.axTree1_AddItem);

axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.Columns.Add("Def");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
System.Diagnostics.Debug.Print( "Call PutItems" );
axTree1.PutItems(axTree1.GetItems(-1),null);

557
How do you embed HTML options into the anchor click string

// AnchorClick event - Occurs when an anchor element is clicked.
private void axTree1_AnchorClick(object sender, AxEXTREELib._ITreeEvents_AnchorClickEvent e)
{
	System.Diagnostics.Debug.Print( e.anchorID.ToString() );
	System.Diagnostics.Debug.Print( e.options.ToString() );
}
//this.axTree1.AnchorClick += new AxEXTREELib._ITreeEvents_AnchorClickEventHandler(this.axTree1_AnchorClick);

axTree1.BeginUpdate();
EXTREELib.Columns var_Columns = axTree1.Columns;
	(var_Columns.Add("Car") as EXTREELib.Column).set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("<a mazda_1;options for 1>Mazda <b>1</b></a>");
	var_Items.AddItem("<a mazda_2;options for 2>Mazda <b>2</b></a>");
	var_Items.AddItem("<a mazda_3;options for 3a>Mazda <b>3.a</b></a>");
	var_Items.AddItem("<a mazda_3;options for 3b>Mazda <b>3.b</b></a>");
axTree1.EndUpdate();

556
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 3)

axTree1.BeginUpdate();
axTree1.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAEGg4BVEIQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQCWIAzATGYBRfIUEgjBM6ExwG78e" +
"gBHp/ZpkACIJJAaRjHQdJxGKKMQB9DIhCZpeKhWgkKIJBzOEyBRC4ERBGqNGrsIgLEqWZpnWhaNpWXYTLyBN64LhuK46g53O6wLxvK6hEr2dJ/YBcIAOfghf4NQ7EMRx" +
"LC8Mw3BDvYDkOAABAIgI=");
(axTree1.GetOcx() as EXTREELib.Tree).SelBackColor = 0x1fffffe;
axTree1.ShowFocusRect = false;
axTree1.Columns.Add("Items");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_ItemBackColor(var_Items.AddItem("red"),(uint)ColorTranslator.ToWin32(Color.FromArgb(255,0,0)));
	var_Items.set_ItemBackColor(var_Items.AddItem("blue"),(uint)ColorTranslator.ToWin32(Color.FromArgb(0,0,255)));
	var_Items.set_ItemBackColor(var_Items.AddItem("green"),(uint)ColorTranslator.ToWin32(Color.FromArgb(0,255,0)));
axTree1.EndUpdate();

555
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 2)

axTree1.BeginUpdate();
axTree1.SelBackMode = EXTREELib.BackModeEnum.exTransparent;
axTree1.ShowFocusRect = false;
axTree1.Columns.Add("Items");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_ItemBackColor(var_Items.AddItem("red"),(uint)ColorTranslator.ToWin32(Color.FromArgb(255,0,0)));
	var_Items.set_ItemBackColor(var_Items.AddItem("blue"),(uint)ColorTranslator.ToWin32(Color.FromArgb(0,0,255)));
	var_Items.set_ItemBackColor(var_Items.AddItem("green"),(uint)ColorTranslator.ToWin32(Color.FromArgb(0,255,0)));
axTree1.EndUpdate();

554
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 1)

axTree1.BeginUpdate();
axTree1.SelBackColor = axTree1.BackColor;
axTree1.SelForeColor = axTree1.ForeColor;
axTree1.ShowFocusRect = true;
axTree1.Columns.Add("Items");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_ItemBackColor(var_Items.AddItem("red"),(uint)ColorTranslator.ToWin32(Color.FromArgb(255,0,0)));
	var_Items.set_ItemBackColor(var_Items.AddItem("blue"),(uint)ColorTranslator.ToWin32(Color.FromArgb(0,0,255)));
	var_Items.set_ItemBackColor(var_Items.AddItem("green"),(uint)ColorTranslator.ToWin32(Color.FromArgb(0,255,0)));
axTree1.EndUpdate();

553
How do I arrange my columns on multiple levels

axTree1.BeginUpdate();
axTree1.ColumnAutoResize = false;
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exAllLines;
EXTREELib.Columns var_Columns = axTree1.Columns;
	EXTREELib.Column var_Column = (var_Columns.Add("C0") as EXTREELib.Column);
		var_Column.ExpandColumns = "1,2";
		var_Column.DisplayExpandButton = false;
	var_Columns.Add("C1");
	var_Columns.Add("C2");
	var_Columns.Add("C3");
	EXTREELib.Column var_Column1 = (var_Columns.Add("C4") as EXTREELib.Column);
		var_Column1.ExpandColumns = "5,6";
		var_Column1.DisplayExpandButton = false;
	var_Columns.Add("C5");
	EXTREELib.Column var_Column2 = (var_Columns.Add("C6") as EXTREELib.Column);
		var_Column2.ExpandColumns = "6,7";
		var_Column2.DisplayExpandButton = false;
	var_Columns.Add("C7");
axTree1.EndUpdate();

552
Does your control support expandable header or columns, so I can arrange it on multiple levels

axTree1.BeginUpdate();
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exAllLines;
axTree1.BackColorLevelHeader = Color.FromArgb(240,240,240);
EXTREELib.Columns var_Columns = axTree1.Columns;
	EXTREELib.Column var_Column = (var_Columns.Add("Photo") as EXTREELib.Column);
		var_Column.AllowSizing = false;
		var_Column.Width = 32;
	var_Columns.Add("Personal Info");
	var_Columns.Add("Title");
	var_Columns.Add("Name");
	var_Columns.Add("First");
	var_Columns.Add("Last");
	var_Columns.Add("Address");
	var_Columns["Personal Info"].ExpandColumns = "2,3";
	EXTREELib.Column var_Column1 = var_Columns["Name"];
		var_Column1.ExpandColumns = "4,5";
		var_Column1.Expanded = false;
axTree1.EndUpdate();

551
Does your control support subscript or superscript, in HTML captions

axTree1.ColumnAutoResize = false;
axTree1.HeaderHeight = 28;
axTree1.DefaultItemHeight = 24;
EXTREELib.Columns var_Columns = axTree1.Columns;
	EXTREELib.Column var_Column = (var_Columns.Add("Column 1") as EXTREELib.Column);
		var_Column.HTMLCaption = "Column <b><off 2><font ;6>1";
		var_Column.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
	EXTREELib.Column var_Column1 = (var_Columns.Add("Column 2") as EXTREELib.Column);
		var_Column1.HTMLCaption = "Column <b><off 2><font ;6>2";
		var_Column1.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
	EXTREELib.Column var_Column2 = (var_Columns.Add("Column 3") as EXTREELib.Column);
		var_Column2.HTMLCaption = "Column <b><off 2><font ;6>3";
		var_Column2.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Item <font ;6><off 4>1");
	var_Items.set_CellCaption(h,1,"Item <font ;6><off -6>2");
	var_Items.set_CellCaption(h,2,"Item <b><font ;6><off -6>2<off 4>3<off 4>1");

550
Is there any property I can save and restore automatically the current setting, column position, size, and so on (2)

axTree1.BeginUpdate();
axTree1.Columns.Add("Column");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Item 1");
	var_Items.AddItem("Item 2");
	var_Items.AddItem("Item 3");
axTree1.Layout = "Select=\"0\";SingleSort=\"C0:2\";Columns=1";
axTree1.EndUpdate();

549
Is there any property I can save and restore automatically the current setting, column position, size, and so on (1)

axTree1.BeginUpdate();
axTree1.Columns.Add("Column");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Item 1");
	var_Items.AddItem("Item 2");
	var_Items.AddItem("Item 3");
axTree1.Layout = "gBjAAwAAuABmABpABsAB0ABlAByhoAPIAOEPAA9gYABoABQAgUEg0XN4AOcJicKkpujMbjsfkMFk0YhkQgUOjUEl8gjcGO0ok8KMULjEaGMcj08kQAO8oMkTNEtGwAG" +
"QAqc7gUlhh1ABtAEsk9GpEfhElgVcsMupNlnlonlaAFcr0shUsp8QPEtnVJqJhmcIhUMh0QiU5sYAqMngUSuEMw07k8Qv0SgVRrNEuVflF2jF5x9JyNEm0TjQijemyE0" +
"jE3t+YruauoAu4Az1qj9BzRn0UzksSnAA0xDjY6qnAw8OiUQ0dwzN0zWz2t7j8/xURAGNvWH6k8xlEhklhEI0O/6QAgI=";
axTree1.EndUpdate();

548
I have noticed that the column's header is changed once the cursor hovers it. Is it possible to change that visual appearance

axTree1.VisualAppearance.Add(1,"c:\\exontrol\\images\\normal.ebn");
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Column 1");
	var_Columns.Add("Column 2");
(axTree1.GetOcx() as EXTREELib.Tree).BackColorHeader = 0x1000000;
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exCursorHoverColumn,0x12d86ff);

547
Is it possible to change the visual appearance of the columns selector/floating bar(3)

axTree1.ColumnAutoResize = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Column 1");
	(var_Columns.Add("Column 2") as EXTREELib.Column).Visible = false;
axTree1.VisualAppearance.Add(2,"c:\\exontrol\\images\\normal.ebn");
axTree1.VisualAppearance.Add(3,"c:\\exontrol\\images\\pushed.ebn");
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exColumnsFloatAppearance,0x2000000);
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exColumnsFloatBackColor,0x3000000);
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exColumnsFloatCaptionBackColor,(uint)ColorTranslator.ToWin32(Color.FromArgb(246,245,240)));
axTree1.ColumnsFloatBarVisible = EXTREELib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeHiddenColumns;

546
Is it possible to change the visual appearance of the columns selector/floating bar(2)

axTree1.ColumnAutoResize = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Column 1");
	(var_Columns.Add("Column 2") as EXTREELib.Column).Visible = false;
axTree1.VisualAppearance.Add(3,"c:\\exontrol\\images\\pushed.ebn");
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exColumnsFloatBackColor,0x3000000);
axTree1.ColumnsFloatBarVisible = EXTREELib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeHiddenColumns;

545
Is it possible to change the visual appearance of the columns selector/floating bar(1)

axTree1.VisualAppearance.Add(2,"c:\\exontrol\\images\\normal.ebn");
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exColumnsFloatAppearance,0x2000000);
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exColumnsFloatBackColor,(uint)ColorTranslator.ToWin32(Color.FromArgb(246,245,240)));
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exColumnsFloatCaptionBackColor,(uint)ColorTranslator.ToWin32(Color.FromArgb(246,245,240)));
axTree1.ColumnsFloatBarVisible = EXTREELib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeHiddenColumns;

544
I am using the ColumnsFloatBarVisible property on True, but still not able to add any column on that list

axTree1.ColumnAutoResize = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Column 1");
	(var_Columns.Add("Column 2") as EXTREELib.Column).Visible = false;
axTree1.ColumnsFloatBarVisible = EXTREELib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeHiddenColumns;

543
Is it possible to list a column to columns selector/floating bar, but still user can use it

axTree1.ColumnAutoResize = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Column 1");
	(var_Columns.Add("Column 2") as EXTREELib.Column).Visible = false;
	EXTREELib.Column var_Column = (var_Columns.Add("Column 3") as EXTREELib.Column);
		var_Column.Visible = false;
		var_Column.Enabled = false;
axTree1.ColumnsFloatBarVisible = EXTREELib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeHiddenColumns;

542
How can I prevent a specific column not to be listed in the columns selector/floating bar

axTree1.ColumnAutoResize = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Column 1");
	(var_Columns.Add("Column 2") as EXTREELib.Column).Visible = false;
	EXTREELib.Column var_Column = (var_Columns.Add("Column 3") as EXTREELib.Column);
		var_Column.Visible = false;
		var_Column.AllowDragging = false;
axTree1.ColumnsFloatBarVisible = EXTREELib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeHiddenColumns;

541
Is it possible to change the "Columns" caption being shown in the columns selector/floating bar

axTree1.ColumnAutoResize = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Column 1");
	(var_Columns.Add("Column 2") as EXTREELib.Column).Visible = false;
axTree1.set_Description(EXTREELib.DescriptionTypeEnum.exColumnsFloatBar,"Hidden Columns");
axTree1.ColumnsFloatBarVisible = EXTREELib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeHiddenColumns;

540
How can I show the columns selector, so the user can drag and drop columns to the view

axTree1.ColumnAutoResize = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Column 1");
	(var_Columns.Add("Column 2") as EXTREELib.Column).Visible = false;
axTree1.ColumnsFloatBarVisible = EXTREELib.ColumnsFloatBarVisibleEnum.exColumnsFloatBarVisibleIncludeHiddenColumns;

539
The column's header is changed while the cursor hovers it. Is it possible to prevent that

EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Column 1");
	var_Columns.Add("Column 2");
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exCursorHoverColumn,-1);

538
Is there any public method to export the selected data

axTree1.BeginUpdate();
axTree1.MarkSearchColumn = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("C1");
	(var_Columns.Add("C2") as EXTREELib.Column).FormatColumn = "1 index `A-Z`";
	(var_Columns.Add("C3") as EXTREELib.Column).FormatColumn = "100 index ``";
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Item 1");
	var_Items.set_SelectItem(var_Items.AddItem("Item 2"),true);
	var_Items.AddItem("Item 3");
axTree1.EndUpdate();
System.Diagnostics.Debug.Print( "Export CSV Selected Items Only:" );
System.Diagnostics.Debug.Print( axTree1.Export("","sel").ToString() );

537
Is it possible to auto-numbering the children items but still keeps the position after filtering

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Items") as EXTREELib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.FilterType = EXTREELib.FilterTypeEnum.exFilter;
	var_Column.Filter = "Child 2";
EXTREELib.Column var_Column1 = (axTree1.Columns.Add("Pos.1") as EXTREELib.Column);
	var_Column1.FormatColumn = "1 ropos ''";
	var_Column1.Position = 0;
	var_Column1.Width = 32;
	var_Column1.AllowSizing = false;
EXTREELib.Column var_Column2 = (axTree1.Columns.Add("Pos.2") as EXTREELib.Column);
	var_Column2.FormatColumn = "1 ropos ':'";
	var_Column2.Position = 1;
	var_Column2.Width = 32;
	var_Column2.AllowSizing = false;
EXTREELib.Column var_Column3 = (axTree1.Columns.Add("Pos.3") as EXTREELib.Column);
	var_Column3.FormatColumn = "1 ropos ':|A-Z'";
	var_Column3.Position = 2;
	var_Column3.Width = 32;
	var_Column3.AllowSizing = false;
EXTREELib.Column var_Column4 = (axTree1.Columns.Add("Pos.4") as EXTREELib.Column);
	var_Column4.FormatColumn = "1 ropos '|A-Z|'";
	var_Column4.Position = 3;
	var_Column4.Width = 32;
	var_Column4.AllowSizing = false;
EXTREELib.Column var_Column5 = (axTree1.Columns.Add("Pos.5") as EXTREELib.Column);
	var_Column5.FormatColumn = "'<font Tahoma;7>' + 1 ropos '-<b>||A-Z'";
	var_Column5.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
	var_Column5.Position = 4;
	var_Column5.Width = 32;
	var_Column5.AllowSizing = false;
EXTREELib.Column var_Column6 = (axTree1.Columns.Add("Pos.6") as EXTREELib.Column);
	var_Column6.FormatColumn = "'<b>'+ 1 ropos '</b>:<fgcolor=FF0000>|A-Z|'";
	var_Column6.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
	var_Column6.Position = 5;
	var_Column6.Width = 48;
	var_Column6.AllowSizing = false;
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
axTree1.ApplyFilter();
axTree1.EndUpdate();

536
Is it possible to auto-numbering the children items too

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.Columns.Add("Items");
EXTREELib.Column var_Column = (axTree1.Columns.Add("Pos.1") as EXTREELib.Column);
	var_Column.FormatColumn = "1 rpos ''";
	var_Column.Position = 0;
	var_Column.Width = 32;
	var_Column.AllowSizing = false;
EXTREELib.Column var_Column1 = (axTree1.Columns.Add("Pos.2") as EXTREELib.Column);
	var_Column1.FormatColumn = "1 rpos ':'";
	var_Column1.Position = 1;
	var_Column1.Width = 32;
	var_Column1.AllowSizing = false;
EXTREELib.Column var_Column2 = (axTree1.Columns.Add("Pos.3") as EXTREELib.Column);
	var_Column2.FormatColumn = "1 rpos ':|A-Z'";
	var_Column2.Position = 2;
	var_Column2.Width = 32;
	var_Column2.AllowSizing = false;
EXTREELib.Column var_Column3 = (axTree1.Columns.Add("Pos.4") as EXTREELib.Column);
	var_Column3.FormatColumn = "1 rpos '|A-Z|'";
	var_Column3.Position = 3;
	var_Column3.Width = 32;
	var_Column3.AllowSizing = false;
EXTREELib.Column var_Column4 = (axTree1.Columns.Add("Pos.5") as EXTREELib.Column);
	var_Column4.FormatColumn = "'<font Tahoma;7>' + 1 rpos '-<b>||A-Z'";
	var_Column4.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
	var_Column4.Position = 4;
	var_Column4.Width = 32;
	var_Column4.AllowSizing = false;
EXTREELib.Column var_Column5 = (axTree1.Columns.Add("Pos.6") as EXTREELib.Column);
	var_Column5.FormatColumn = "'<b>'+ 1 rpos '</b>:<fgcolor=FF0000>|A-Z|'";
	var_Column5.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
	var_Column5.Position = 5;
	var_Column5.Width = 48;
	var_Column5.AllowSizing = false;
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
axTree1.EndUpdate();

535
How can I find if there is any filter applied to the control

// FilterChange event - Notifies your application that the filter is changed.
private void axTree1_FilterChange(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Print( "If negative, the filter is present, else not" );
	System.Diagnostics.Debug.Print( axTree1.Items.VisibleItemCount.ToString() );
}
//this.axTree1.FilterChange += new EventHandler(this.axTree1_FilterChange);

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.TreeColumnIndex = -1;
axTree1.FilterInclude = EXTREELib.FilterIncludeEnum.exMatchingItemsOnly;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Column") as EXTREELib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.FilterType = EXTREELib.FilterTypeEnum.exFilter;
	var_Column.Filter = "C1";
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("R1");
	var_Items.InsertItem(h,null,"C1");
	var_Items.InsertItem(h,null,"C2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("R2");
	var_Items.InsertItem(h,null,"C1");
	var_Items.InsertItem(h,null,"C2");
axTree1.ApplyFilter();
axTree1.EndUpdate();

534
How can I prevent showing the lines for the hierarchy while using the exMatchingItemsOnly option

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.TreeColumnIndex = -1;
axTree1.FilterInclude = EXTREELib.FilterIncludeEnum.exMatchingItemsOnly;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Column") as EXTREELib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.FilterType = EXTREELib.FilterTypeEnum.exFilter;
	var_Column.Filter = "C1|C2";
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("R1");
	var_Items.InsertItem(h,null,"C1");
	var_Items.InsertItem(h,null,"C2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("R2");
	var_Items.InsertItem(h,null,"C1");
	var_Items.InsertItem(h,null,"C2");
axTree1.ApplyFilter();
axTree1.EndUpdate();

533
Is there any method to get only the matched items and not the items with his parent

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.FilterInclude = EXTREELib.FilterIncludeEnum.exMatchingItemsOnly;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Column") as EXTREELib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.FilterType = EXTREELib.FilterTypeEnum.exFilter;
	var_Column.Filter = "C1|C2";
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("R1");
	var_Items.InsertItem(h,null,"C1");
	var_Items.InsertItem(h,null,"C2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("R2");
	var_Items.InsertItem(h,null,"C1");
	var_Items.InsertItem(h,null,"C2");
axTree1.ApplyFilter();
axTree1.EndUpdate();

532
How can I add or change the padding (spaces) for captions in the control's header

axTree1.BeginUpdate();
(axTree1.Columns.Add("Padding-Left") as EXTREELib.Column).set_Def(EXTREELib.DefColumnEnum.exHeaderPaddingLeft,18);
EXTREELib.Column var_Column = (axTree1.Columns.Add("Padding-Right") as EXTREELib.Column);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exHeaderPaddingRight,18);
	var_Column.HeaderAlignment = EXTREELib.AlignmentEnum.RightAlignment;
axTree1.EndUpdate();

531
Do you have any plans to add cell spacing and cell padding to the cells

axTree1.BeginUpdate();
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exRowLines;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Padding-Left") as EXTREELib.Column);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellPaddingLeft,18);
(axTree1.Columns.Add("No-Padding") as EXTREELib.Column).set_Def(EXTREELib.DefColumnEnum.exCellHasCheckBox,true);
(axTree1.Columns.Add("Empty") as EXTREELib.Column).Position = 0;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_CellCaption(var_Items.AddItem("Item A.1"),1,"Item A.2");
	var_Items.set_CellCaption(var_Items.AddItem("Item B.1"),1,"Item B.2");
	var_Items.set_CellCaption(var_Items.AddItem("Item C.1"),1,"Item C.2");
axTree1.EndUpdate();

530
Is it possible display numbers in the same format no matter of regional settings in the control panel

axTree1.BeginUpdate();
(axTree1.Columns.Add("Def") as EXTREELib.Column).set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem(100000.27);
	var_Items.set_FormatCell(h,0,"(value format '') +  ' <fgcolor=808080>(default positive)'");
	h = var_Items.AddItem(100000.27);
	var_Items.set_FormatCell(h,0,"(value format '2|.|3|,|1|1')");
	h = var_Items.AddItem(-100000.27);
	var_Items.set_FormatCell(h,0,"(value format '') +  ' <fgcolor=808080>(default negative)'");
	h = var_Items.AddItem(-100000.27);
	var_Items.set_FormatCell(h,0,"(value format '2|.|3|,|1|1')");
axTree1.EndUpdate();

529
Is it possible to add a 0 for numbers less than 1 instead .7 to show 0.8

axTree1.BeginUpdate();
(axTree1.Columns.Add("Def") as EXTREELib.Column).set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem(0.27);
	var_Items.set_FormatCell(h,0,"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items.AddItem(0.27);
	var_Items.set_FormatCell(h,0,"(value format '|||||0') +  ' <fgcolor=808080>(Display no leading zeros)'");
axTree1.EndUpdate();

528
How can I specify the format for negative numbers

axTree1.BeginUpdate();
(axTree1.Columns.Add("Def") as EXTREELib.Column).set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem(-100000.27);
	var_Items.set_FormatCell(h,0,"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items.AddItem(-100000.27);
	var_Items.set_FormatCell(h,0,"(value format '||||1') +  ' <fgcolor=808080>(Negative sign, number; for example, -1.1)'");
axTree1.EndUpdate();

527
Is it possible to change the grouping character when display numbers

axTree1.BeginUpdate();
(axTree1.Columns.Add("Def") as EXTREELib.Column).set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem(100000.27);
	var_Items.set_FormatCell(h,0,"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items.AddItem(100000.27);
	var_Items.set_FormatCell(h,0,"(value format '|||-') +  ' <fgcolor=808080>(grouping character is -)'");
axTree1.EndUpdate();

526
How can I display numbers with 2 digits in each group

axTree1.BeginUpdate();
(axTree1.Columns.Add("Def") as EXTREELib.Column).set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem(100000.27);
	var_Items.set_FormatCell(h,0,"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items.AddItem(100000.27);
	var_Items.set_FormatCell(h,0,"(value format '||2') +  ' <fgcolor=808080>(grouping by 2 digits)'");
axTree1.EndUpdate();

525
How can I display my numbers using a different decimal separator

axTree1.BeginUpdate();
(axTree1.Columns.Add("Def") as EXTREELib.Column).set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem(100.27);
	var_Items.set_FormatCell(h,0,"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items.AddItem(100.27);
	var_Items.set_FormatCell(h,0,"(value format '|;') +  ' <fgcolor=808080>(decimal separator is <b>;</b>)'");
axTree1.EndUpdate();

524
Is it possible to display the numbers using 3 (three) digits

axTree1.BeginUpdate();
(axTree1.Columns.Add("Def") as EXTREELib.Column).set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem(100.27);
	var_Items.set_FormatCell(h,0,"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items.AddItem(100.27);
	var_Items.set_FormatCell(h,0,"(value format '3') +  ' <fgcolor=808080>(3 digits)'");
	h = var_Items.AddItem(100.27);
	var_Items.set_FormatCell(h,0,"(value format 2) +  '  <fgcolor=808080>(2 digits)'");
	h = var_Items.AddItem(100.27);
	var_Items.set_FormatCell(h,0,"(value format 1) +  ' <fgcolor=808080>(1 digit)'");
axTree1.EndUpdate();

523
Is it possible to format numbers

axTree1.BeginUpdate();
axTree1.MarkSearchColumn = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Name");
	EXTREELib.Column var_Column = (var_Columns.Add("A") as EXTREELib.Column);
		var_Column.SortType = EXTREELib.SortTypeEnum.SortNumeric;
		var_Column.AllowSizing = false;
		var_Column.Width = 36;
		var_Column.FormatColumn = "len(value) ? value + ' +'";
	EXTREELib.Column var_Column1 = (var_Columns.Add("B") as EXTREELib.Column);
		var_Column1.SortType = EXTREELib.SortTypeEnum.SortNumeric;
		var_Column1.AllowSizing = false;
		var_Column1.Width = 36;
		var_Column1.FormatColumn = "len(value) ? value + ' +'";
	EXTREELib.Column var_Column2 = (var_Columns.Add("C") as EXTREELib.Column);
		var_Column2.SortType = EXTREELib.SortTypeEnum.SortNumeric;
		var_Column2.AllowSizing = false;
		var_Column2.Width = 36;
		var_Column2.FormatColumn = "len(value) ? value + ' ='";
	EXTREELib.Column var_Column3 = (var_Columns.Add("A+B+C") as EXTREELib.Column);
		var_Column3.SortType = EXTREELib.SortTypeEnum.SortNumeric;
		var_Column3.Width = 64;
		var_Column3.ComputedField = "dbl(%1)+dbl(%2)+dbl(%3)";
		var_Column3.FormatColumn = "type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=00" +
"00FF>+'+(value format '2|.|3|,' ): '0.00') )";
		var_Column3.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.set_CellCaptionFormat(h,4,EXTREELib.CaptionFormatEnum.exComputedField);
	int h1 = var_Items.InsertItem(h,null,"Child 1");
	var_Items.set_CellCaption(h1,1,7);
	var_Items.set_CellCaption(h1,2,3);
	var_Items.set_CellCaption(h1,3,1);
	h1 = var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_CellCaption(h1,1,-2);
	var_Items.set_CellCaption(h1,2,-2);
	var_Items.set_CellCaption(h1,3,-4);
	h1 = var_Items.InsertItem(h,null,"Child 3");
	var_Items.set_CellCaption(h1,1,2);
	var_Items.set_CellCaption(h1,2,2);
	var_Items.set_CellCaption(h1,3,-4);
	var_Items.set_ExpandItem(h,true);
axTree1.EndUpdate();

522
I am using the FormatColumn/FormatCell to format my columns. Is it possible to ignore the SelForeColor, so the foreground color for selected items does not override my settings

// SelectionChanged event - Fired after a new item has been selected.
private void axTree1_SelectionChanged(object sender, EventArgs e)
{
	EXTREELib.Items var_Items = axTree1.Items;
		var_Items.ClearItemBackColor(0);
		var_Items.set_ItemBackColor(var_Items.get_SelectedItem(0),(uint)ColorTranslator.ToWin32(Color.FromArgb(128,255,255)));
}
//this.axTree1.SelectionChanged += new EventHandler(this.axTree1_SelectionChanged);

axTree1.BeginUpdate();
axTree1.MarkSearchColumn = false;
axTree1.SelForeColor = axTree1.ForeColor;
axTree1.SelBackColor = axTree1.BackColor;
axTree1.ShowFocusRect = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	EXTREELib.Column var_Column = (var_Columns.Add("Format") as EXTREELib.Column);
		var_Column.FormatColumn = "type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=00" +
"00FF>+'+(value format '2|.|3|,' ): '0.00') )";
		var_Column.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem(10);
	var_Items.AddItem(-8);
axTree1.EndUpdate();

521
Is it possible to change the height for all items at once

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
axTree1.Columns.Add("Items");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(0,true);
axTree1.EndUpdate();
axTree1.DefaultItemHeight = 12;
axTree1.Items.set_ItemHeight(0,12);

520
How can I add a footer row

axTree1.ShowLockedItems = true;
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exVLines;
axTree1.Columns.Add("C1");
axTree1.Columns.Add("C2");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_LockedItemCount(EXTREELib.VAlignmentEnum.BottomAlignment,1);
	int h = var_Items.get_LockedItem(EXTREELib.VAlignmentEnum.BottomAlignment,0);
	var_Items.set_ItemBackColor(h,(uint)ColorTranslator.ToWin32(Color.FromArgb(128,128,128)));
	var_Items.set_ItemForeColor(h,(uint)ColorTranslator.ToWin32(Color.FromArgb(255,255,255)));
	var_Items.set_CellCaption(h,0,"footer c1");
	var_Items.set_CellCaption(h,1,"footer c2");
	var_Items.set_CellCaption(var_Items.AddItem("cell"),1,"cell");

519
How can I add a header row

axTree1.ShowLockedItems = true;
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exVLines;
axTree1.Columns.Add("C1");
axTree1.Columns.Add("C2");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_LockedItemCount(EXTREELib.VAlignmentEnum.TopAlignment,1);
	int h = var_Items.get_LockedItem(EXTREELib.VAlignmentEnum.TopAlignment,0);
	var_Items.set_ItemBackColor(h,(uint)ColorTranslator.ToWin32(Color.FromArgb(128,128,128)));
	var_Items.set_ItemForeColor(h,(uint)ColorTranslator.ToWin32(Color.FromArgb(255,255,255)));
	var_Items.set_CellCaption(h,0,"footer c1");
	var_Items.set_CellCaption(h,1,"footer c2");
	var_Items.set_CellCaption(var_Items.AddItem("cell"),1,"cell");

518
When I'm trying to show string with "line break" character (vbCrLF) in a textbox, it shows 2 squares. Is there any way to hide these squares

EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Value");
	EXTREELib.Column var_Column = (var_Columns.Add("CellSingleLine = False") as EXTREELib.Column);
		var_Column.ComputedField = "%0";
		var_Column.set_Def(EXTREELib.DefColumnEnum.exCellSingleLine,false);
	EXTREELib.Column var_Column1 = (var_Columns.Add("FormatColumn/replace CRLF") as EXTREELib.Column);
		var_Column1.ComputedField = "%0";
		var_Column1.FormatColumn = "value replace `\\r\\n` with ``";
	EXTREELib.Column var_Column2 = (var_Columns.Add("FormatColumn/replace TAB,CRLF") as EXTREELib.Column);
		var_Column2.ComputedField = "%0";
		var_Column2.FormatColumn = "(value replace `\\t` with ``) replace `\\r\\n` with ``";
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("a\\ta\\r\\nb\\tb");

517
Is there any way to "unselect" radio group

// DblClick event - Occurs when the user dblclk the left mouse button over an object.
private void axTree1_DblClick(object sender, AxEXTREELib._ITreeEvents_DblClickEvent e)
{
	EXTREELib.Items var_Items = axTree1.Items;
		int h = var_Items.get_CellChecked(1234);
		var_Items.set_CellHasCheckBox(0,h,true);
		var_Items.set_CellState(0,h,0);
		var_Items.set_CellHasCheckBox(0,h,false);
}
//this.axTree1.DblClick += new AxEXTREELib._ITreeEvents_DblClickEventHandler(this.axTree1_DblClick);

// SelectionChanged event - Fired after a new item has been selected.
private void axTree1_SelectionChanged(object sender, EventArgs e)
{
	EXTREELib.Items var_Items = axTree1.Items;
		var_Items.set_CellState(var_Items.FocusItem,0,1);
}
//this.axTree1.SelectionChanged += new EventHandler(this.axTree1_SelectionChanged);

axTree1.MarkSearchColumn = false;
axTree1.SelBackColor = Color.FromArgb(255,255,128);
axTree1.SelForeColor = Color.FromArgb(0,0,0);
axTree1.Columns.Add("Default");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Radio 1");
	var_Items.set_CellHasRadioButton(h,0,true);
	var_Items.set_CellRadioGroup(h,0,1234);
	h = var_Items.AddItem("Radio 2");
	var_Items.set_CellHasRadioButton(h,0,true);
	var_Items.set_CellRadioGroup(h,0,1234);
	var_Items.set_CellState(h,0,1);
	h = var_Items.AddItem("Radio 3");
	var_Items.set_CellHasRadioButton(h,0,true);
	var_Items.set_CellRadioGroup(h,0,1234);

516
The Column.Alignment property does not seem to work for cells with images in them. What can be done

axTree1.BeginUpdate();
axTree1.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
axTree1.TreeColumnIndex = -1;
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exAllLines;
axTree1.HeaderHeight = 24;
axTree1.MarkSearchColumn = false;
axTree1.DefaultItemHeight = 24;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Image") as EXTREELib.Column);
	var_Column.AllowSizing = false;
	var_Column.Width = 32;
	var_Column.HTMLCaption = "<img>1</img>";
	var_Column.HeaderAlignment = EXTREELib.AlignmentEnum.CenterAlignment;
	var_Column.Alignment = EXTREELib.AlignmentEnum.CenterAlignment;
	var_Column.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
axTree1.Columns.Add("Rest");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("<img>1</img>");
	var_Items.AddItem("<img>2</img>");
	var_Items.AddItem("<img>3</img>");
axTree1.EndUpdate();

515
Can I change the format of date to be shown in the control

EXTREELib.Columns var_Columns = axTree1.Columns;
	var_Columns.Add("Default");
	EXTREELib.Column var_Column = (var_Columns.Add("Format.1") as EXTREELib.Column);
		var_Column.ComputedField = "%0";
		var_Column.FormatColumn = "dateF(value) replace `/` with `-`";
	EXTREELib.Column var_Column1 = (var_Columns.Add("Format.2") as EXTREELib.Column);
		var_Column1.ComputedField = "%0";
		var_Column1.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
		var_Column1.FormatColumn = "`<b>`+ shortdate(value) + `</b> ` + timeF(value)";
	EXTREELib.Column var_Column2 = (var_Columns.Add("Format.3") as EXTREELib.Column);
		var_Column2.ComputedField = "%0";
		var_Column2.set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
		var_Column2.FormatColumn = "( dateF(value) replace `/` with `-` ) + ` <b>`+ ( weekday(value) case ( 0 : `Su`; 1 : `Mo`; 2 : `Tu`; 3 : `We`; 4 : `Th`; 5 : `" +
"Fr`; 6 : `Sa`) )";
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem(Convert.ToDateTime("1/1/2001 10:00:00",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("1/2/2001 10:00:00",System.Globalization.CultureInfo.GetCultureInfo("en-US")));

514
Is it possible to scroll the control's content by clicking and dragging

axTree1.BeginUpdate();
axTree1.ColumnAutoResize = false;
axTree1.ContinueColumnScroll = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axTree1.DataSource = (rs as ADODB.Recordset);
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragScroll;
axTree1.EndUpdate();

513
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a snapshot
axTree1.BeginUpdate();
axTree1.VisualAppearance.Add(1,"c:\\exontrol\\images\\normal.ebn");
axTree1.set_HTMLPicture("p1","c:\\exontrol\\images\\card.png");
axTree1.set_HTMLPicture("p2","c:\\exontrol\\images\\sun.png");
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragCopySnapShot;
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exNoLinesAtRoot;
axTree1.HasLines = EXTREELib.HierarchyLineEnum.exThinLine;
axTree1.ShowFocusRect = false;
axTree1.DefaultItemHeight = 26;
axTree1.Columns.Add("Task");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("<img>p1:32</img>Group 1");
	var_Items.set_CellCaptionFormat(h,0,EXTREELib.CaptionFormatEnum.exHTML);
	var_Items.set_ItemDivider(h,0);
	var_Items.set_ItemBold(h,true);
	int h1 = var_Items.InsertItem(h,null,"Task 1");
	int h2 = var_Items.InsertItem(h,null,"Task 2");
	int h3 = var_Items.InsertItem(h,null,"Task 3");
	h = var_Items.AddItem("<img>p2:32</img>Group 2");
	var_Items.set_CellCaptionFormat(h,0,EXTREELib.CaptionFormatEnum.exHTML);
	var_Items.set_ItemBold(h,true);
	var_Items.set_ItemDivider(h,0);
	h1 = var_Items.InsertItem(h,null,"Task");
	var_Items.set_ExpandItem(0,true);
axTree1.EndUpdate();

512
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a image

axTree1.BeginUpdate();
axTree1.set_HTMLPicture("p1","c:\\exontrol\\images\\card.png");
axTree1.set_HTMLPicture("p2","c:\\exontrol\\images\\sun.png");
object var_HTMLPicture = axTree1.get_HTMLPicture("aka1");
axTree1.HeaderHeight = 24;
axTree1.DefaultItemHeight = 48;
axTree1.DrawGridLines = EXTREELib.GridLinesEnum.exRowLines;
axTree1.GridLineColor = Color.FromArgb(240,240,240);
axTree1.SelBackMode = EXTREELib.BackModeEnum.exTransparent;
axTree1.ColumnAutoResize = false;
axTree1.ContinueColumnScroll = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axTree1.DataSource = (rs as ADODB.Recordset);
axTree1.Columns[0].set_Def(EXTREELib.DefColumnEnum.exCellCaptionFormat,1);
axTree1.Columns[0].FormatColumn = "value + ` <img>p` + (1 + (value mod 3 ) ) + `</img>`";
axTree1.Columns[0].Width = 112;
axTree1.Columns[1].set_Def(EXTREELib.DefColumnEnum.exCellHasCheckBox,1);
axTree1.Columns[2].LevelKey = "1";
axTree1.Columns[3].LevelKey = "1";
axTree1.Columns[4].LevelKey = "1";
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragCopyImage;
axTree1.SingleSel = false;
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items[1];
	var_Items.set_SelectItem(h,true);
	h = var_Items[2];
	var_Items.set_SelectItem(h,true);
	h = var_Items[3];
	var_Items.set_SelectItem(h,true);
	var_Items.set_LockedItemCount(EXTREELib.VAlignmentEnum.BottomAlignment,1);
	h = var_Items.get_LockedItem(EXTREELib.VAlignmentEnum.BottomAlignment,0);
	var_Items.set_CellCaption(h,1,"<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Word, ...");
	var_Items.set_CellSingleLine(h,1,EXTREELib.CellSingleLineEnum.exCaptionWordWrap);
	var_Items.set_CellCaptionFormat(h,1,EXTREELib.CaptionFormatEnum.exHTML);
	var_Items.set_CellHAlignment(h,1,EXTREELib.AlignmentEnum.CenterAlignment);
	var_Items.set_ItemDivider(h,1);
	var_Items.set_ItemDividerLineAlignment(h,EXTREELib.DividerAlignmentEnum.DividerTop);
axTree1.EndUpdate();

511
How can copy and paste the selection to Microsoft Word, Excel or any OLE compliant application, as a text

axTree1.BeginUpdate();
axTree1.ColumnAutoResize = false;
axTree1.ContinueColumnScroll = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axTree1.DataSource = (rs as ADODB.Recordset);
axTree1.Columns[2].LevelKey = "1";
axTree1.Columns[3].LevelKey = "1";
axTree1.Columns[4].LevelKey = "1";
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragCopyText;
axTree1.SingleSel = false;
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items[1];
	var_Items.set_SelectItem(h,true);
	h = var_Items[3];
	var_Items.set_SelectItem(h,true);
	h = var_Items[4];
	var_Items.set_SelectItem(h,true);
	h = var_Items[5];
	var_Items.set_SelectItem(h,true);
	var_Items.set_LockedItemCount(EXTREELib.VAlignmentEnum.BottomAlignment,1);
	h = var_Items.get_LockedItem(EXTREELib.VAlignmentEnum.BottomAlignment,0);
	var_Items.set_CellCaption(h,0,"<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Word, Excel, ...");
	var_Items.set_CellSingleLine(h,0,EXTREELib.CellSingleLineEnum.exCaptionWordWrap);
	var_Items.set_CellCaptionFormat(h,0,EXTREELib.CaptionFormatEnum.exHTML);
	var_Items.set_CellHAlignment(h,0,EXTREELib.AlignmentEnum.CenterAlignment);
	var_Items.set_ItemDivider(h,0);
	var_Items.set_ItemDividerLineAlignment(h,EXTREELib.DividerAlignmentEnum.DividerTop);
axTree1.EndUpdate();

510
Is it possible to change the indentation during the drag and drop

axTree1.BeginUpdate();
axTree1.VisualAppearance.Add(1,"c:\\exontrol\\images\\normal.ebn");
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragPositionAny;
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exNoLinesAtRoot;
axTree1.HasLines = EXTREELib.HierarchyLineEnum.exSolidLine;
axTree1.HasButtons = EXTREELib.ExpandButtonEnum.exWPlus;
axTree1.ShowFocusRect = false;
axTree1.SelBackMode = EXTREELib.BackModeEnum.exTransparent;
axTree1.Columns.Add("Task");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Group 1");
	var_Items.set_ItemBold(h,true);
	var_Items.set_ItemDivider(h,0);
	int h1 = var_Items.InsertItem(h,null,"Task 1");
	int h2 = var_Items.InsertItem(h1,null,"Task 2");
	h2 = var_Items.InsertItem(h1,null,"Task 3");
	int h3 = var_Items.InsertItem(h,null,"Task 3");
	var_Items.set_ExpandItem(h,true);
	var_Items.set_ExpandItem(h1,true);
	h = var_Items.AddItem("Group 2");
	var_Items.set_ItemBold(h,true);
	var_Items.set_ItemDivider(h,0);
	var_Items.set_LockedItemCount(EXTREELib.VAlignmentEnum.BottomAlignment,1);
	h = var_Items.get_LockedItem(EXTREELib.VAlignmentEnum.BottomAlignment,0);
	var_Items.set_CellCaption(h,0,"Click a row, and move by dragging <b>up, down</b> to change the row's parent or <b>left,right</b> to increase or decrease the i" +
"ndentation.");
	var_Items.set_CellSingleLine(h,0,EXTREELib.CellSingleLineEnum.exCaptionWordWrap);
	var_Items.set_CellCaptionFormat(h,0,EXTREELib.CaptionFormatEnum.exHTML);
axTree1.EndUpdate();

509
Is it possible to allow moving an item to another, but keeping its indentation

axTree1.BeginUpdate();
axTree1.VisualAppearance.Add(1,"c:\\exontrol\\images\\normal.ebn");
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragPositionKeepIndent;
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exNoLinesAtRoot;
axTree1.HasLines = EXTREELib.HierarchyLineEnum.exThinLine;
axTree1.ShowFocusRect = false;
axTree1.Columns.Add("Task");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Group 1");
	var_Items.set_ItemDivider(h,0);
	var_Items.set_ItemBold(h,true);
	int h1 = var_Items.InsertItem(h,null,"Task 1");
	int h2 = var_Items.InsertItem(h,null,"Task 2");
	int h3 = var_Items.InsertItem(h,null,"Task 3");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Group 2");
	var_Items.set_ItemBold(h,true);
	var_Items.set_ItemDivider(h,0);
axTree1.EndUpdate();

508
How can I change the row's position to another, by drag and drop. Is it possible

axTree1.BeginUpdate();
axTree1.ShowFocusRect = false;
axTree1.VisualAppearance.Add(1,"c:\\exontrol\\images\\normal.ebn");
axTree1.AutoDrag = EXTREELib.AutoDragEnum.exAutoDragPosition;
axTree1.Columns.Add("Task");
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem("Task 1");
	var_Items.AddItem("Task 2");
	var_Items.AddItem("Task 3");
	var_Items.AddItem("Task 4");
axTree1.EndUpdate();

507
How do I enable the scrollbar-extension, as thumb to be shown outside of the control's client area

axTree1.BeginUpdate();
axTree1.ScrollBars = EXTREELib.ScrollBarsEnum.exDisableBoth;
axTree1.set_ScrollPartVisible(EXTREELib.ScrollBarEnum.exVScroll,EXTREELib.ScrollPartEnum.exExtentThumbPart,true);
axTree1.set_ScrollPartVisible(EXTREELib.ScrollBarEnum.exHScroll,EXTREELib.ScrollPartEnum.exExtentThumbPart,true);
axTree1.set_ScrollPartVisible((EXTREELib.ScrollBarEnum)0x2,EXTREELib.ScrollPartEnum.exExtentThumbPart,true);
axTree1.ScrollWidth = 4;
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exVSBack,(uint)ColorTranslator.ToWin32(Color.FromArgb(240,240,240)));
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exVSThumb,(uint)ColorTranslator.ToWin32(Color.FromArgb(128,128,128)));
axTree1.ScrollHeight = 4;
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exHSBack,axTree1.get_Background(EXTREELib.BackgroundPartEnum.exVSBack));
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exHSThumb,axTree1.get_Background(EXTREELib.BackgroundPartEnum.exVSThumb));
axTree1.set_Background(EXTREELib.BackgroundPartEnum.exScrollSizeGrip,axTree1.get_Background(EXTREELib.BackgroundPartEnum.exVSBack));
axTree1.EndUpdate();

506
How can I have a case-insensitive filter (exFilterDoCaseSensitive flag is not set)

axTree1.BeginUpdate();
axTree1.MarkSearchColumn = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	EXTREELib.Column var_Column = (var_Columns.Add("Car") as EXTREELib.Column);
		var_Column.DisplayFilterButton = true;
		var_Column.FilterType = EXTREELib.FilterTypeEnum.exFilter;
		var_Column.Filter = "MAZDA";
	EXTREELib.Column var_Column1 = (var_Columns.Add("Equipment") as EXTREELib.Column);
		var_Column1.DisplayFilterButton = true;
		var_Column1.DisplayFilterPattern = false;
		var_Column1.CustomFilter = "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*";
		var_Column1.FilterType = EXTREELib.FilterTypeEnum.exPattern;
		var_Column1.Filter = "AIR BAG";
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_CellCaption(var_Items.AddItem("Mazda"),1,"Air Bag");
	var_Items.set_CellCaption(var_Items.AddItem("Toyota"),1,"Air Bag,Air condition");
	var_Items.set_CellCaption(var_Items.AddItem("Ford"),1,"Air condition");
	var_Items.set_CellCaption(var_Items.AddItem("Nissan"),1,"Air Bag,ABS,ESP");
	var_Items.set_CellCaption(var_Items.AddItem("Mazda"),1,"Air Bag, ABS,ESP");
	var_Items.set_CellCaption(var_Items.AddItem("Mazda"),1,"ABS,ESP");
axTree1.ApplyFilter();
axTree1.EndUpdate();

505
How can I have a case-sensitive filter

axTree1.BeginUpdate();
axTree1.MarkSearchColumn = false;
EXTREELib.Columns var_Columns = axTree1.Columns;
	EXTREELib.Column var_Column = (var_Columns.Add("Car") as EXTREELib.Column);
		var_Column.DisplayFilterButton = true;
		var_Column.FilterType = EXTREELib.FilterTypeEnum.exFilterDoCaseSensitive | EXTREELib.FilterTypeEnum.exFilter;
		var_Column.Filter = "Mazda";
	EXTREELib.Column var_Column1 = (var_Columns.Add("Equipment") as EXTREELib.Column);
		var_Column1.DisplayFilterButton = true;
		var_Column1.DisplayFilterPattern = false;
		var_Column1.CustomFilter = "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*";
		var_Column1.FilterType = EXTREELib.FilterTypeEnum.exFilterDoCaseSensitive | EXTREELib.FilterTypeEnum.exPattern;
		var_Column1.Filter = "Air Bag";
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.set_CellCaption(var_Items.AddItem("Mazda"),1,"Air Bag");
	var_Items.set_CellCaption(var_Items.AddItem("Toyota"),1,"Air Bag,Air condition");
	var_Items.set_CellCaption(var_Items.AddItem("Ford"),1,"Air condition");
	var_Items.set_CellCaption(var_Items.AddItem("Nissan"),1,"Air Bag,ABS,ESP");
	var_Items.set_CellCaption(var_Items.AddItem("Mazda"),1,"Air Bag, ABS,ESP");
	var_Items.set_CellCaption(var_Items.AddItem("Mazda"),1,"ABS,ESP");
axTree1.ApplyFilter();
axTree1.EndUpdate();

504
I have several columns, but noticed that the filter is using AND between columns, but I need OR clause for filtering. Is it possible

axTree1.BeginUpdate();
axTree1.LinesAtRoot = EXTREELib.LinesAtRootEnum.exLinesAtRoot;
EXTREELib.Column var_Column = (axTree1.Columns.Add("Item") as EXTREELib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.Filter = "Child 1";
	var_Column.FilterType = EXTREELib.FilterTypeEnum.exFilter;
EXTREELib.Column var_Column1 = (axTree1.Columns.Add("Date") as EXTREELib.Column);
	var_Column1.DisplayFilterButton = true;
	var_Column1.DisplayFilterPattern = false;
	var_Column1.DisplayFilterDate = true;
	var_Column1.FilterList = EXTREELib.FilterListEnum.exShowExclude | EXTREELib.FilterListEnum.exShowFocusItem | EXTREELib.FilterListEnum.exShowCheckBox | EXTREELib.FilterListEnum.exNoItems;
	var_Column1.Filter = Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")).ToString();
	var_Column1.FilterType = EXTREELib.FilterTypeEnum.exDate;
axTree1.FilterCriteria = "%0 or %1";
axTree1.set_Description(EXTREELib.DescriptionTypeEnum.exFilterBarOr,"<font ;18><fgcolor=FF0000>or</fgcolor></font>");
axTree1.set_Description(EXTREELib.DescriptionTypeEnum.exFilterBarAnd,"<font ;18><fgcolor=FF0000>and</fgcolor></font>");
EXTREELib.Items var_Items = axTree1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.set_CellCaption(var_Items.InsertItem(h,null,"Child 1"),1,Convert.ToDateTime("12/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_CellCaption(var_Items.InsertItem(h,null,"Child 2"),1,Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.set_CellCaption(var_Items.InsertItem(h,null,"Child 1"),1,Convert.ToDateTime("12/29/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_CellCaption(var_Items.InsertItem(h,null,"Child 2"),1,Convert.ToDateTime("12/30/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
axTree1.ApplyFilter();
axTree1.EndUpdate();

503
Is it possible exclude the dates being selected in the drop down filter window

axTree1.BeginUpdate();
EXTREELib.Column var_Column = (axTree1.Columns.Add("Date") as EXTREELib.Column);
	var_Column.SortType = EXTREELib.SortTypeEnum.SortDate;
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.DisplayFilterDate = true;
	var_Column.FilterList = EXTREELib.FilterListEnum.exShowExclude | EXTREELib.FilterListEnum.exShowFocusItem | EXTREELib.FilterListEnum.exShowCheckBox | EXTREELib.FilterListEnum.exNoItems;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem(Convert.ToDateTime("12/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/29/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/30/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/31/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
axTree1.EndUpdate();

502
How can I display a calendar control inside the drop down filter window

axTree1.BeginUpdate();
EXTREELib.Column var_Column = (axTree1.Columns.Add("Date") as EXTREELib.Column);
	var_Column.SortType = EXTREELib.SortTypeEnum.SortDate;
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.DisplayFilterDate = true;
	var_Column.FilterList = EXTREELib.FilterListEnum.exShowFocusItem | EXTREELib.FilterListEnum.exShowCheckBox | EXTREELib.FilterListEnum.exNoItems;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem(Convert.ToDateTime("12/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/29/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/30/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/31/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
axTree1.EndUpdate();

501
Is it possible to include the dates as checkb-boxes in the drop down filter window

axTree1.BeginUpdate();
EXTREELib.Column var_Column = (axTree1.Columns.Add("Dates") as EXTREELib.Column);
	var_Column.SortType = EXTREELib.SortTypeEnum.SortDate;
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = true;
	var_Column.DisplayFilterDate = true;
	var_Column.FilterList = EXTREELib.FilterListEnum.exShowFocusItem | EXTREELib.FilterListEnum.exShowCheckBox;
	var_Column.Filter = "to 12/27/2010";
	var_Column.FilterType = EXTREELib.FilterTypeEnum.exDate;
EXTREELib.Items var_Items = axTree1.Items;
	var_Items.AddItem(Convert.ToDateTime("12/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/29/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/30/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/31/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
axTree1.ApplyFilter();
axTree1.EndUpdate();